{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 5 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGzCAYAAAAmH71NAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGu0lEQVR4nO3dfVgVdf7/8ReggGjgDQqSeNO6ZXgDRamnrbRiZc3abqisTWXJNA3alFKjn6utttFuqbmG2o2Ku2madrOVphl5893EUpTyttpVV0tBzTioCSh8fn/0Zb4ewZuj6BmG5+O6znVxznzOzOfMe+bwmjlz42eMMQIAAHAgf193AAAA4EIh6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6PhQ27Zt9fvf/97X3cBJqIt9URv78vPz0zPPPOPrbuAk1IWgc14OHz6ssWPH6je/+Y2aNm0qPz8/ZWdn+7pbdd7atWuVlpamjh07qmHDhmrdurXuu+8+ffPNN77uWp23efNm3XvvvbrssssUEhKi8PBw3Xjjjfrggw983TWc5M9//rP8/PzUqVMnX3elTluxYoX8/PyqfaxZs8bX3asV6vm6A7XZgQMHNG7cOLVu3VqxsbFasWKFr7sESX/5y1/02Wef6d5771WXLl1UUFCgl19+WVdffbXWrFnDF7cP/fe//9WhQ4eUnJysqKgo/fTTT3r77bf129/+Vq+88ooGDx7s6y5C0nfffafnnntODRs29HVX8L/+8Ic/6Nprr/V4rX379j7qTe1C0DkPLVu21N69exUZGal169ZVWQhrs+PHj6uiokKBgYG+7orX0tPTNXfuXI++9+3bV507d9bzzz+vN954w4e9Oz+1uS6SdOutt+rWW2/1eC0tLU3x8fGaOHFirQ46tb02J3ryySfVvXt3lZeX68CBA77uznkrKSlRYGCg/P1r748YN9xwg+655x5fd6NGXay61N6q20BQUJAiIyNrbHwHDx7Uk08+qc6dO6tRo0YKDQ1V79699eWXX1ptDh8+rIYNG+rxxx+v8v7vvvtOAQEByszMtF4rKirSsGHDFB0draCgILVv315/+ctfVFFRYbXZuXOn/Pz89OKLL+qll17SL37xCwUFBWnLli019tkupuuuu67KP5tf/vKX6tixo7Zu3er1+KjLhRUQEKDo6GgVFRV5/V5qU/NWrVqlhQsX6qWXXjqv8fz3v//Vo48+qiuuuEINGjRQs2bNdO+992rnzp1Wm+3bt8vPz0+TJk2q8v7Vq1fLz89Pb775pvXa999/r4ceekgREREKCgpSx44dNXPmTI/3Vf7UM2/ePI0ePVqXXnqpQkJCVFxcfF6fxw4OHTqk48ePn9c46mJd2KNjI9u3b9d7772ne++9V+3atVNhYaFeeeUV9ejRQ1u2bFFUVJQaNWqku+66S/Pnz9fEiRMVEBBgvf/NN9+UMUYPPvigJOmnn35Sjx499P333+uRRx5R69attXr1amVkZGjv3r1VvshmzZqlkpISDR48WEFBQWratOnF/PgXlDFGhYWF6tixo9fvpS4178iRIzp69Kjcbrfef/99ffTRR+rbt6/X46E2Nau8vFyPPfaYHn74YXXu3Pm8xrV27VqtXr1a999/v1q1aqWdO3dq2rRp6tmzp7Zs2aKQkBBddtll+tWvfqU5c+Zo+PDhHu+fM2eOLrnkEt1xxx2SpMLCQnXv3l1+fn5KS0tT8+bN9dFHH2ngwIEqLi7WsGHDPN4/fvx4BQYG6sknn1RpaWmt39OWkpKiw4cPKyAgQDfccINeeOEFXXPNNV6Pp07WxaBGrF271kgys2bNOuv3tGnTxiQnJ1vPS0pKTHl5uUebHTt2mKCgIDNu3DjrtaVLlxpJ5qOPPvJo26VLF9OjRw/r+fjx403Dhg3NN99849HuqaeeMgEBAWbXrl3WNCSZ0NBQs2/fvrPuf23yj3/8w0gyM2bMOGNb6nLhPfLII0aSkWT8/f3NPffcYw4ePHjG91GbC+vll182YWFh1mfq0aOH6dix41m9V5IZO3as9fynn36q0iY3N9dIMn//+9+t11555RUjyWzdutV6rayszISHh3vUeuDAgaZly5bmwIEDHuO8//77TVhYmDW95cuXG0nmsssuq7YPtc1nn31mkpKSzIwZM8w///lPk5mZaZo1a2aCg4PN+vXrz/h+6mIMP13ZSFBQkPVbZXl5uX744Qc1atRIV1xxhdavX2+1S0hIUFRUlObMmWO9tmnTJn311Vfq16+f9dqCBQt0ww03qEmTJjpw4ID1SEhIUHl5uVatWuUx/aSkJDVv3vwCf8qLb9u2bUpNTZXL5VJycrLX76cuNW/YsGFatmyZZs+erd69e6u8vFxlZWVej4fa1JwffvhBY8aM0R//+Mca+UwNGjSw/j527Jh++OEHtW/fXo0bN/aozX333afg4GCP2ixdulQHDhywamOM0dtvv63bb79dxhiP2iQmJsrtdnuMU5KSk5M9+lBbXXfddVq4cKEeeugh/fa3v9VTTz2lNWvWyM/PTxkZGV6Pry7WhZ+uLjC3262jR49azwMDA0+5e7uiokKTJ0/W1KlTtWPHDpWXl1vDmjVrZv3t7++vBx98UNOmTdNPP/2kkJAQzZkzR8HBwbr33nutdt9++62++uqrU35p7du3z+N5u3btzukz2llBQYH69OmjsLAwLVy40PrZgrr4VocOHdShQwdJ0oABA9SrVy/dfvvt+vzzz1VcXExtfGD06NFq2rSpHnvssVO2OXjwoEcgbdCggcLCwqpte/ToUWVmZmrWrFn6/vvvZYyxhrndbuvvxo0b6/bbb9fcuXM1fvx4ST//PHLppZfq5ptvliTt379fRUVFevXVV/Xqq69WOz0n1+Zk7du31x133KF33nlH5eXlcrvd1OU0CDoX2OOPP67Zs2dbz3v06HHK09Cfe+45/fGPf9RDDz2k8ePHq2nTpvL399ewYcM8DoSUfv7n8MILL+i9997TAw88oLlz5+q2227zWLgrKir061//WiNHjqx2epdffrnHcyds/ZzI7Xard+/eKioq0v/8z/8oKirKGkZd7OWee+7RI488om+++UaZmZnU5iL79ttv9eqrr+qll17Snj17rNdLSkp07Ngx7dy5U6Ghobr77ru1cuVKa3hycvIprx322GOPadasWRo2bJhcLpfCwsLk5+en+++/v9raLFiwQKtXr1bnzp31/vvv69FHH7X21lW279ev3yn3ynbp0sXjuVNqcyrR0dEqKyvTkSNHqMsZEHQusJEjR3rsGm/SpMkp2y5cuFA33XSTZsyY4fF6UVGRwsPDPV7r1KmTrrrqKs2ZM0etWrXSrl27NGXKFI82v/jFL3T48GElJCTUwCepXUpKSnT77bfrm2++0SeffKKYmBiP4dTFXir34LjdbmrjA99//70qKir0hz/8QX/4wx+qDG/Xrp0ef/xxTZgwQT/++KP1+okbDydbuHChkpOTNWHCBOu1kpKSas+u+81vfqPmzZtrzpw56tatm3766Sf179/fGt68eXNdcsklKi8vr3O1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eb1Hxw4L3/z585Wenq6xY8ey8MH27HCz1by8PPXs2dMafjY3W5W44Sp8xw4bCJVnqfbr108xMTFsINRSXgcdOyx8EydO1KBBg5SSkuLVwseXNi42O91stfKK19VN51S44Sp8xQ4bCPn5+R7Dz2YDgf8z9uN10LHDwpeXl+fR5my3TvnSxsXWu3dv3XvvverSpYsSExO1ePFiFRUV6a233vJ1185KRkaG3G639di9e7evu4Q6wE4bCCc70wYC/2fsx6ugY6eFr7o2Z9o65UsbvubLm62e/NPumW62KnHDVfhGbd5A4P+M/XgVdGrzwifxpQ3fq7zZasuWLT1utlqpuputbty40SOkVHez1RPHUdnmxJutxsfHa+XKldbwyputVrYB7MyXGwgnO9MGAv9n7Oe8Ti/35cJXXZszbZ0CF5tdbraanp6u2bNnS/o5THGzVdQmvtpAiIuL8xjOBkLtdF5Bx5dbpye2YeGDXdnlZqt9+/bVs88+K0m6/vrrudkqbM0uGwipqamSpLlz52rr1q1sINRWxgtPPPGEWbFihdmxY4f57LPPTEJCggkPDzf79u0zxhgzZMgQ07p1a/Ppp5+adevWGZfLZVwul/X+48ePm06dOplevXqZ/Px8s2TJEtO8eXOTkZFhtdm+fbsJCQkxI0aMMFu3bjVZWVkmICDALFmyxGozb948ExQUZLKzs82WLVvM4MGDTePGjU1BQYE3H8e43W4jybjdbmOMMW1GfejxgPdOnqc1NQ5qc/6ojT1Rl6r69u1rWrZsaQIDA82ll15q+vbta/79739bw48ePWoeffRR06RJExMSEmLuuusus3fvXo9x7Ny50/Tu3ds0aNDAhIeHmyeeeMIcO3bMo83y5ctNXFycCQwMNJdddpmZNWuWx/DK+RodHW0CAwNN165dzZo1a7z6LE6rjV14s954dffyyq3TH374Qc2bN9f1119fZevU399fSUlJKi0tVWJioqZOnWq9v3LrdOjQoXK5XGrYsKGSk5Or3TodPny4Jk+erFatWlW7dbp//36NGTNGBQUFiouLY+sUABxi3rx5px0eHBysrKws6zo31WnTpo0WL1582vH07NlTGzZsOGN/Nm3axLE2tZhXQcdOC19aWprS0tJO2wYAANRt3OsKAAA4FkEHAAA4FkEHAAA4FkEHAAA4FkEHAAA4FkEHAAA4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Z/7AQA1g4wA15ZyCjh0WwLy8PI82LICwI65aDXiPjQPUJK+Djp0WwOrasADCTrhqNeAdNg5Q07wKOiyAgHe4ajXgHTYOUNO8Cjp2WwCra8MCCDupvGr1iY8Tr1odFhZmXbV6+fLlysvLU0pKyimvWv3ll19q6dKl1V61evv27Ro5cqS2bdumqVOn6q233tLw4cOtvqSmpkqS5s6dq61bt2ro0KFctRq2w8YBappXQcdOC2B8fLxHGxZA1FZctRr4P2wcoKZ5da8rO91TKT09XcnJybrmmmvUtWtX7qmEWmPFihUezyuvWl15Kmt1Kq9afTqVV60+k02bNrE3E7XapEmT5O/vr6SkJJWWlioxMVFTp061hlduHAwdOlQul0sNGzZUcnJytRsHw4cP1+TJk9WqVatqNw4eeughPffcc3r88ccVFxfHxkEtVOM39bxYC2Dfvn21f/9+jRkzRgUFBSyAAOBQbBzgfJx30PHlApiWlqa0tLSz7isAAKhbuNcVAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOAABwLIIOgDpp2rRp6tKli0JDQxUaGiqXy6WPPvrIGl5SUqLU1FQ1a9ZMjRo1UlJSkgoLCz3GsWvXLvXp00chISFq0aKFRowYoePHj3u0WbFiha6++moFBQWpffv2ys7OrrY/nTt3VnBwsLp166Yvvviixj8vUFcRdADUSa1atdLzzz+vvLw8rVu3TjfffLPuuOMObd68WZI0fPhwffDBB1qwYIFWrlypPXv26O6777beX15erj59+qisrEyrV6/W7NmzlZ2drTFjxlhtduzYoT59+uimm25Sfn6+hg0bpocfflhLly612rz99tuSpFGjRmn9+vWKjY1VYmKi9u3bd5HmBOBsBB0AddLtt9+uW2+9Vb/85S91+eWX689//rMaNWqkNWvW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W7aYwYMHm8aNG3ucSng2OL285nGqrKeHHnrItGnTxgQGBprmzZubW265xVpfjDHm6NGj5tFHHzVNmjQxISEh5q677jJ79+71GMfOnTtN7969TYMGDUx4eLh54oknzLFjxzzaLF++3MTFxZnAwEBz2WWXmVmzZlXpywsvvGAkmcDAQNO1a1ezZs0arz+Pk2pjF6wzVdllvamcr9HR0ee83jitNnbhzXrj1TE6lRel27t3r8LCwtSlS5cqF6Xz9/dXUlKSSktLlZiYqKlTp1rvr7wo3dChQ+VyudSwYUMlJydXe1G64cOHa/LkyWrVqlWVi9L17dtX+/fv15gxY1RQUKC4uLg6fVE62NeMGTNOOzw4OFhZWVnKyso6ZZs2bdpo8eLFpx1Pz549tWHDhtO2GTx4sEaMGKH9+/fzsy1szU7rjSRt2rSJdaYW8yro2GnhS0tLU1pa2mnbAACAuo17XQEAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6AAAAMci6ACokzIzM3XttdfqkksuUYsWLXTnnXfq66+/9mhTUlKi1NRUNWvWTI0aNVJSUpIKCws92uzatUt9+vRRSEiIWrRooREjRuj48eMebVasWKGrr75aQUFBat++vbKzs6v057XXXlPbtm0VHBysbt266YsvvqjxzwzURQQdAHXSypUrlZqaqjVr1mjZsmU6duyYevXqpSNHjlhthg8frg8++EALFizQypUrtWfPHt19993W8PLycvXp00dlZWVavXq1Zs+erezsbI0ZM8Zqs2PHDvXp00c33XST8vPzNWzYMD388MNaunSpR3+efvppjR07VuvXr1dsbKwSExO1b9++Cz8jAIer5+sOAIAvLFmyxON5dna2WrRooby8PN14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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 隐藏层的激活值的分布\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))\n",
    "\n",
    "def relu(x):\n",
    "    return np.maximum(0, x)\n",
    "\n",
    "x = np.random.randn(1000, 100)  # 1000条数据\n",
    "node_num = 100      # 隐藏层节点数量\n",
    "hidden_layer_size = 5   # 隐藏层有5层\n",
    "activations = {}    # 激活值结果\n",
    "\n",
    "for i in range(hidden_layer_size):\n",
    "    if i != 0:\n",
    "        x = activations[i - 1]\n",
    "    w = np.random.randn(node_num, node_num) / np.sqrt(50.0)\n",
    "\n",
    "    z = np.dot(x, w)\n",
    "    a = relu(z)\n",
    "    activations[i] = a\n",
    "\n",
    "# 绘制直方图\n",
    "for i, a in activations.items():\n",
    "    plt.subplot(1, len(activations), i+1)\n",
    "    plt.title(str(i+1) + \"-layer\")\n",
    "    plt.hist(a.flatten(), 20, range=(0,1))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "# sigmoid: W / sqrt(node_num)\n",
    "# relu: W / sqrt(node_num / 2)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==========iteration0=============\n",
      "std=0.01 : 2.3025020274377512\n",
      "Xavier : 2.290018648431732\n",
      "He : 2.313481753164222\n",
      "==========iteration100=============\n",
      "std=0.01 : 2.3020453782469925\n",
      "Xavier : 2.24109611588351\n",
      "He : 1.3402391192056344\n",
      "==========iteration200=============\n",
      "std=0.01 : 2.3022865027485206\n",
      "Xavier : 2.100085128600643\n",
      "He : 0.5767829333581134\n",
      "==========iteration300=============\n",
      "std=0.01 : 2.2997199391039826\n",
      "Xavier : 1.8333741571969113\n",
      "He : 0.5579444661496604\n",
      "==========iteration400=============\n",
      "std=0.01 : 2.3026698980612297\n",
      "Xavier : 1.5157352532426214\n",
      "He : 0.3910099943538308\n",
      "==========iteration500=============\n",
      "std=0.01 : 2.304325714207414\n",
      "Xavier : 1.1527777404129347\n",
      "He : 0.6341628936046559\n",
      "==========iteration600=============\n",
      "std=0.01 : 2.302317808094208\n",
      "Xavier : 0.9038271032376345\n",
      "He : 0.4703672092894856\n",
      "==========iteration700=============\n",
      "std=0.01 : 2.300401514384141\n",
      "Xavier : 0.5818528232250416\n",
      "He : 0.20899776849807605\n",
      "==========iteration800=============\n",
      "std=0.01 : 2.3051102699789485\n",
      "Xavier : 0.5299048484940589\n",
      "He : 0.25812328333254947\n",
      "==========iteration900=============\n",
      "std=0.01 : 2.298449043235195\n",
      "Xavier : 0.42844351813124454\n",
      "He : 0.1902437283745492\n",
      "==========iteration1000=============\n",
      "std=0.01 : 2.3014092680968954\n",
      "Xavier : 0.4256237969916008\n",
      "He : 0.2625304217144215\n",
      "==========iteration1100=============\n",
      "std=0.01 : 2.3053302046300748\n",
      "Xavier : 0.34924456868459997\n",
      "He : 0.20440322070019282\n",
      "==========iteration1200=============\n",
      "std=0.01 : 2.300335362613237\n",
      "Xavier : 0.3361300283317787\n",
      "He : 0.23092648200239213\n",
      "==========iteration1300=============\n",
      "std=0.01 : 2.303879186097405\n",
      "Xavier : 0.317712854798447\n",
      "He : 0.1860181477835834\n",
      "==========iteration1400=============\n",
      "std=0.01 : 2.302388724217474\n",
      "Xavier : 0.3431357945812193\n",
      "He : 0.19476364008296446\n",
      "==========iteration1500=============\n",
      "std=0.01 : 2.303082414380571\n",
      "Xavier : 0.21597628615060993\n",
      "He : 0.12861502648949244\n",
      "==========iteration1600=============\n",
      "std=0.01 : 2.300289170532591\n",
      "Xavier : 0.25722059338923775\n",
      "He : 0.17183765984391997\n",
      "==========iteration1700=============\n",
      "std=0.01 : 2.303810894850413\n",
      "Xavier : 0.2345888217389431\n",
      "He : 0.13631333975177212\n",
      "==========iteration1800=============\n",
      "std=0.01 : 2.302080727023195\n",
      "Xavier : 0.23410103884478367\n",
      "He : 0.19407587107444194\n",
      "==========iteration1900=============\n",
      "std=0.01 : 2.3034929256718057\n",
      "Xavier : 0.2652788751068956\n",
      "He : 0.19902014989231037\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 基于MNIST数据集的权重初始值比较\n",
    "import matplotlib.pyplot as plt\n",
    "from dataset.mnist import load_mnist\n",
    "from common.optimizer import *\n",
    "from common.util import smooth_curve\n",
    "from common.multi_layer_net import MultiLayerNet\n",
    "\n",
    "# 0.读入MNIST数据\n",
    "(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True)\n",
    "\n",
    "# 超参数\n",
    "iters_num = 2000       # 训练轮数\n",
    "train_size = x_train.shape[0]   # 训练数据量\n",
    "batch_size = 100        # 单批次数量\n",
    "\n",
    "# 1.进行试验的设置\n",
    "weight_init_types = {'std=0.01': 0.01, 'Xavier': 'sigmoid', \"He\": 'relu'}\n",
    "optimizer = SGD(lr=0.01)\n",
    "\n",
    "networks = {}\n",
    "train_loss = {}\n",
    "for key, weight_type in weight_init_types.items():\n",
    "    networks[key] = MultiLayerNet(input_size=784, hidden_size_list=[100, 100, 100, 100],\n",
    "                                  output_size=10, weight_init_std=weight_type)\n",
    "    train_loss[key] = []\n",
    "\n",
    "# 2.开始训练\n",
    "for i in range(iters_num):\n",
    "     # 获取小批量数据\n",
    "    batch_mask = np.random.choice(train_size, batch_size)\n",
    "    x_batch = x_train[batch_mask]\n",
    "    t_batch = t_train[batch_mask]\n",
    "\n",
    "    for key in weight_init_types.keys():\n",
    "        # 计算梯度\n",
    "        grads = networks[key].gradient(x_batch, t_batch)\n",
    "        optimizer.update(networks[key].params, grads)\n",
    "\n",
    "        loss = networks[key].loss(x_batch, t_batch)\n",
    "        train_loss[key].append(loss)\n",
    "\n",
    "    if i % 100 == 0:\n",
    "        print(\"==========iteration\" + str(i) + \"=============\")\n",
    "        for key in weight_init_types.keys():\n",
    "            loss = networks[key].loss(x_batch, t_batch)\n",
    "            print(key, \":\", str(loss))\n",
    "\n",
    "# 3.绘制图形\n",
    "markers = {\"std=0.01\": \"o\", \"Xavier\": \"s\", \"He\": \"D\"}\n",
    "x = np.arange(iters_num)\n",
    "for key in weight_init_types.keys():\n",
    "    plt.plot(x, smooth_curve(train_loss[key]), marker=markers[key], markevery=100, label=key)\n",
    "plt.xlabel(\"iterations\")\n",
    "plt.ylabel(\"loss\")\n",
    "plt.ylim(0, 2.5)\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}